Markdown++ Cheatsheet
This cheatsheet is designed to be a reference for quickly discovering the many ways in which you can use Markdown and Markdown++ to organize your content for easy content creation, reuse, and publishing.
Since Markdown++ is designed to be fully backward compatible with Markdown, each section is divided into a Markdown part and a Markdown++ part, allowing users to focus on writing and productivity rather than the issues of content architecture, reuse, and publishing.
Titles
Markdown considers Title and Heading 1 paragraphs to be the most significant paragraphs within a file.
Title paragraphs are one way to attribute the most important heading paragraph in a file, however they are not required.
| Markdown Syntax | Generated Output | ePublisher Style(s) | Type(s) |
|---|---|---|---|
|
Text for Title |
Title 1 | Paragraph |
|
Text for Title |
Title 2 | Paragraph |
Titles with Markdown++
Examples of using Markdown++ to add additional paragraph information to your Markdown title syntax such as a style name, a custom alias that can be linked to, one or more markers, and a hidden comment that passes through to the generated output.
| Markdown++ Syntax | Generated Output | ePublisher Style(s) | Type(s) |
|---|---|---|---|
|
Text for Title |
CustomTitle | Paragraph |
|
Title with linkable custom alias |
CustomTitle | Paragraph |
|
Title with markers |
CustomTitle | Paragraph |
Headings
Heading paragraphs are the traditional way to organize hierarchical paragraphs within a markdown file. If Title paragraphs are not used, then the Heading 1 paragraph would be the most significant in the file.
| Markdown Syntax | Generated Output | ePublisher Style(s) | Type(s) |
|---|---|---|---|
|
Heading |
Heading 1 | Paragraph |
|
Heading |
Heading 2 | Paragraph |
|
Heading |
Heading 3 | Paragraph |
|
Heading |
Heading 4 | Paragraph |
|
Heading |
Heading 5 | Paragraph |
|
Heading |
Heading 6 | Paragraph |
Headings with Markdown++
Examples of using Markdown++ to add additional paragraph information to your markdown heading syntax such as a style name, a custom alias that can be linked to, one or more markers, and a hidden comment that passes through to the generated output.
| Markdown++ Syntax | Generated Output | ePublisher Style(s) | Type(s) |
|---|---|---|---|
|
Heading |
Procedure Title | Paragraph |
|
Heading |
Section Title | Paragraph |
Paragraphs and Line Breaks
Naturally create paragraphs using one more more lines of text followed by a blank line. Do not indent paragraphs with spaces or tabs unless you intend to nest them as part of a list structure. This is the most common type of paragraph in a file.
| Markdown Syntax | Generated Output | ePublisher Style(s) | Type(s) |
|---|---|---|---|
|
One or more lines of text followed by a blank line ⏎ |
Paragraph | Paragraph |
|
Force a line break⏎ using one or more white spaces at the end of the line |
Paragraph | Paragraph |
|
Embed a line break using the HTML⏎ element |
Paragraph | Paragraph |
Paragraphs with Markdown++
Examples of using Markdown++ to add additional paragraph information to your markdown paragraph syntax such as a style name, a custom alias that can be linked to, one or more markers, and a hidden comment that passes through to the generated output.
| Markdown++ Syntax | Generated Output | ePublisher Style(s) | Type(s) |
|---|---|---|---|
|
Paragraph with unique style name | Unique | Paragraph |
|
Paragraph with linkable custom alias | Unique | Paragraph |
|
Paragraph with marker | Unique | Paragraph |
Lists
Use list structures to organize paragraphs into unordered or ordered lists.
- To create an unordered list, add dashes (-), asterisks (*), or plus signs (+) in front of line items.
- To create an ordered list, add line items with numbers followed by a period and then a space. The exact numerical value is not important as it will be calculated when rendered
- Use indentation to nest paragraphs, other lists, or tables within lists.
| Markdown Syntax | Generated Output | ePublisher Style(s) | Type(s) |
|---|---|---|---|
|
|
UList, UList Item, UList Paragraph | Paragraph, Paragraph, Paragraph |
|
|
UList, UList Item, UList Paragraph | Paragraph, Paragraph, Paragraph |
|
|
UList, UList Item, UList Paragraph | Paragraph, Paragraph, Paragraph |
|
|
OList, OList Item, OList Paragraph | Paragraph, Paragraph, Paragraph |
|
|
OList, OList Item, OList Paragraph | Paragraph, Paragraph, Paragraph |
|
|
OList, OList Item, OList Paragraph, UList, UList Item, UList Paragraph | Paragraph, Paragraph, Paragraph, Paragraph, Paragraph, Paragraph |
|
Nested paragraph |
UList, UList Item, UList Paragraph Paragraph | Paragraph, Paragraph, Paragraph, Paragraph |
Lists with Markdown++
Examples of using Markdown++ to add additional information to your markdown list syntax such as unique style name(s).
| Markdown++ Syntax | Generated Output | ePublisher Style(s) | Type(s) |
|---|---|---|---|
|
|
UniqueList, UniqueList Item, UniqueList Paragraph | Paragraph, Paragraph, Paragraph |
|
|
UList, UList Item, UList Unique, UList Paragraph | Paragraph, Paragraph, Paragraph, Paragraph |
|
|
UniqueList, UniqueList Item, UniqueList Paragraph | Paragraph, Paragraph, Paragraph |
|
|
UniqueList, UniqueList Item, UniqueList Unique | Paragraph, Paragraph, Paragraph |
Code
There are two ways to create code paragraphs in Markdown.
- Code Block: indent every line with at least four white space characters
- Code Fence: first and last lines contain three consequtive backtick characters.
Code paragraphs have the unique characteristic of preserving white space and not requiring an escape sequence to render characters that have special meaning in markdown.
| Markdown Syntax | Generated Output | ePublisher Style(s) | Type(s) |
|---|---|---|---|
|
|
Code Block | Paragraph |
|
|
Code Fence | Paragraph |
|
|
UList, UList Item, UList Paragraph, Code Fence | Paragraph, Paragraph, Paragraph, Paragraph |
Blockquotes
To create a blockquote place a greater-than (>) character followed by a white space at the beginning of one or more consequtive lines.
| Markdown Syntax | Generated Output | ePublisher Style(s) | Type(s) |
|---|---|---|---|
|
Abrahim Lincoln said: Four score and seven years ago... |
Blockquote | Paragraph |
|
My original emailYour first replyMy reply to your reply |
Blockquote | Paragraph |
|
|
Blockquote | Paragraph |
Horizontal Rules
To seperate paragraphs with a solid line, you can place three or more hyphens, dashes, or underscores (
-, \*, or \_) together on a line by themselves.| Markdown Syntax | Generated Output | ePublisher Style Name(s) | Style Type(s) |
|---|---|---|---|
|
Horizontal Rule | Paragraph | |
|
Horizontal Rule | Paragraph | |
|
Horizontal Rule | Paragraph |
HTML
To use HTML code directly within your source content, just start and end the HTML code with matching start and end tags. For example:
<h1>Hello World!</h1>| Markdown Syntax | Generated Output | ePublisher Style Name(s) | Style Type(s) |
|---|---|---|---|
|
![]() |
HTML | Paragraph |
Tables
Use table structures to organize column information. In markdown, tables are easy to create and can organize paragraphs into one or more columns with a heading row and one or more body rows.
| Markdown Syntax | Generated Output | ePublisher Style Name(s) | Style Type(s) | ||||
|---|---|---|---|---|---|---|---|
|
|
Default, Table Cell Head, Table Cell Body | Table, Paragraph, Paragraph | ||||
|
|
UList, UList Item, UList Paragraph, Default, Table Cell Head, Table Cell Body | Paragraph, Paragraph, Paragraph, Table, Paragraph, Paragraph | ||||
|
|
Default, Table Cell Head, Table Cell Body | Table, Paragraph, Paragraph | ||||
|
|
Default, Table Cell Head, Table Cell Body | Table, Paragraph, Paragraph | ||||
|
|
Default, Table Cell Head, Table Cell Body | Table, Paragraph, Paragraph | ||||
|
|
Default, Table Cell Head, Table Cell Body | Table, Paragraph, Paragraph |
Tables with Markdown++
Examples of using Markdown++ to assign a unique style name to your tables.
| Markdown++ Syntax | Generated Output | ePublisher Style Name(s) | Style Type(s) | ||||
|---|---|---|---|---|---|---|---|
|
|
Unique, Unique Cell Head, Unique Cell Body | Table, Paragraph, Paragraph |
Inline Text
To add style to one or more characters of text, use the *, _, ~, or ` characters both before and after the text.
| Markdown Syntax | Generated Output | ePublisher Style Name(s) | Style Type(s) |
|---|---|---|---|
|
Bold text | Bold | Character |
|
Italic text | Italic | Character |
|
Strikethrough | Character | |
|
Embedded code |
Code | Character |
|
Bold nested italic text | Bold, Italic | Character, Character |
|
Alternate bold text | Bold | Character |
|
Alternate italic text | Italic | Character |
Inline Text with Markdown++
Examples of using Markdown++ to assign a unique style name to your inline text.
| Markdown++ Syntax | Generated Output | ePublisher Style Name(s) | Style Type(s) |
|---|---|---|---|
|
Bold | CustomBold | Character |
Images
To insert an image into your source content use the following pattern to describe the path to your image, its alternate text, and its title text.
| Markdown Syntax | Generated Output | ePublisher Style Name(s) | Style Type(s) |
|---|---|---|---|
|
![]() |
Image | Graphic |
Images with Markdown++
Examples of using Markdown++ to assign a unique style name to your image.
| Markdown++ Syntax | Generated Output | ePublisher Style Name(s) | Style Type(s) |
|---|---|---|---|
|
![]() |
CustomImage | Graphic |
Aliases
There are two kinds of aliases used in Markdown++ for resolving link destinations.
- Heading Aliases: created automatically for markdown heading paragraphs using the paragraph text.Automatic generation convention:
- All text is converted to lowercase
- All non-word text (such as punctuation or HTML) is removed
- All spaces are converted to hyphens
- Two or more hyphens in a row are converted to one
- If a header with the same ID has already been generated, a unique incrementing number is appended, starting at "1"
- Custom Aliases (Markdown++) which are manually inserted into your content as follows:
<!--#CustomAlias-->Markdown++ Custom Aliases are recommended over Heading Aliases unless your heading text is guaranteed to remain static (unchanged) over time.
| Markdown++ Syntax | Generated Output | ePublisher Style Name(s) | Style Type(s) |
|---|---|---|---|
|
N/A | N/A | |
|
Heading |
Procedure Title | Paragraph |
Links
There are two types of links that can be created in markdown.
- Link within the same or to a different markdown file[Link text](<Path>#<Optional Fragment> "Title Text")`
- Link to a web address
[Link text](https://www.webworks.com/ "webworks website")
| Markdown Syntax | Generated Output | ePublisher Style Name(s) | Style Type(s) |
|---|---|---|---|
|
Link | Character | |
|
Link | Character | |
|
Link | Character | |
|
Link | Character | |
|
Link | Character | |
|
Link | Character |
Links with Markdown++
Assigning a custom ePublisher style name to the link text.
| Markdown++ Syntax | Generated Output | ePublisher Style Name(s) | Style Type(s) |
|---|---|---|---|
|
CustomLink | Character |
Link References
A link reference is a link created using a link key enclosed in brackets:
[<Link Key>]. Then somewhere else in the file the link key is used with a : character to supply the actual link path and fragment.| Markdown Syntax | Generated Output | ePublisher Style Name(s) | Style Type(s) |
|---|---|---|---|
|
Link | Character | |
|
Link, Paragraph | Character, Paragraph |
Footnotes
Footnotes use a sequential key enclosed in brackets, such as:
[^1]. Then somewhere else in the file the footnote key is used with a : character to define the footnote content.| Markdown Syntax | Generated Output | ePublisher Style Name(s) | Style Type(s) |
|---|---|---|---|
|
quick brown fox1 |
Footnote Reference, Paragraph | Character, Paragraph |
|
1Foxes are red. |
Paragraph | Paragraph |
Footnotes with Markdown++
Assigning a custom style name to the footnote definition paragraph.
| Markdown++ Syntax | Generated Output | ePublisher Style Name(s) | Style Type(s) |
|---|---|---|---|
|
1Foxes are red. |
CustomParagraph | Paragraph |
Escape Character (\)
The escape character is the backslash character: \, which allows you to quickly disable special handling of reserve characters such as,
*, #, |, <, and \.| Markdown Syntax | Generated Output | ePublisher Style Name(s) | Style Type(s) |
|---|---|---|---|
|
* not a bullet |
N/A | N/A |
Markers
A markers command allows you to insert one or more meta data name/value pairs at a specific location in your source content files. Then during the publication process, the meta data can be used to enable functionality or characteristics in the generated output.
| Markdown Syntax | ePublisher Style Name(s) | Style Type(s) |
|---|---|---|
|
Keywords | Marker |
|
Description | Marker |
|
TopicAlias | Marker |
Includes
An include command allows you to include the Markdown++ source content from another file into your current source file. If your
<Path> is relative, it should be relative to the file that includes it.Includes Syntax
<!--include:<Path>-->Conditions
A condition command allows you to delineate a chunk of content so that its inclusion in the final output can be controlled by ePublisher using the names of conditions and setting their value to Hidden or Visible.
Conditions Syntax
- Single Condition
<!--condition:<ConditionName>--> Conditional content here. <!--/condition--> - Require Multiple Conditions (Logical AND)
<!--condition: OnlineOnly Version1--> Conditional content that is visible only when both conditions are set to visible in ePublisher. <!--/condition--> - One of Multiple Conditions (Logical OR)
<!--condition: OnlineOnly, PrintOnly--> Conditional content that is visible when at least one of the conditions is set to visible in ePublisher. <!--/condition--> - Using Logical Not (!) Character
<!--condition: !PrintOnly !OnlineOnly--> Conditional content that is visible when the PrintOnly and OnlineOnly conditions are set to hidden. <!--/condition-->
Variables
A variable can be used as a placeholder in your source content that will be set to a specific value by ePublisher when generating output. Variables are preceeded with the character:
$ and ended with the character: ;. You can use them as text in your source content as well as in your markers.Variables Syntax
Text with variable: $ProductName;Variables are for use with chunks of single line text and their values in ePublisher cannot include other variables or Markdown++ commands.
Last modified date: 10/28/2021

